#ifndef EGG_DEPTHBUFFER_H
#define EGG_DEPTHBUFFER_H

#include "GraphicDevice.h"

namespace egg{

    class DepthBuffer{
    public:
        DepthBuffer(uint32 w,uint32 h,bool stencil);
        ~DepthBuffer();
        void resize(uint32 w,uint32 h);

        inline uint32 getID(){
            return mID;
        }
        inline bool hasStencil(){
            return mStencil;
        }
        inline uint32 getWidth(){
            return mWidth;
        }
        inline uint32 getHeight(){
            return mHeight;
        }
    protected:
        bool mStencil;
        uint32 mID;
        uint32 mWidth;
        uint32 mHeight;
        GLenum mFormat;
    };

    typedef shared_ptr<DepthBuffer> DepthBufferPtr;

}

#endif